// 全选复选框
$('.checkall').click(function() {
    // 获取全选复选框的状态
    var status = $(this).prop('checked');

    // 同步更新到所有表体复选框中
    $('.j-checkbox, .checkall').prop('checked', status);

    // 循环表体的所有复选框
    $('.j-checkbox').each(function() {
        if ($(this).prop('checked')) {
            $(this).parent().parent().addClass('check-cart-item');
        } else {
            $(this).parent().parent().removeClass('check-cart-item');
        }
    })

    totalPrice();
})

// 表体复选框，反向影响到表头的全选复选框
// 核心逻辑： 判断选中的复选框的数量是否等于所有复选框的数量
$('.j-checkbox').click(function() {
    // 找到所有已选中的复选框
    var checkedBoxes = $('.j-checkbox:checked');
    // 找到所有的复选框
    var checkBoxes = $('.j-checkbox');
    if (checkBoxes.length == checkedBoxes.length) {
        $('.checkall').prop('checked', true);
    } else {
        $('.checkall').prop('checked', false);
    }

    if ($(this).prop('checked')) {
        $(this).parent().parent().addClass('check-cart-item');
    } else {
        $(this).parent().parent().removeClass('check-cart-item');
    }

    totalPrice();
})

// 增加购买数量
$('.increment').click(function() {
    var num = $(this).siblings('.itxt').val();
    num++;
    $(this).siblings('.itxt').val(num);

    var p = $(this).parents('.p-num').siblings('.p-price').html().slice(1);
    var price = '￥' + (p * num).toFixed(2);
    $(this).parents('.p-num').siblings('.p-sum').html(price);

    totalPrice();
})

// 减小购买数量
$('.decrement').click(function() {
    var num = $(this).siblings('.itxt').val();
    num = --num < 1 ? 1 : num;
    $(this).siblings('.itxt').val(num);

    var p = $(this).parents('.p-num').siblings('.p-price').html().slice(1);
    var price = '￥' + (p * num).toFixed(2);
    $(this).parents('.p-num').siblings('.p-sum').html(price);

    totalPrice();
})

function totalPrice() {
    // 1. 获取所有已选中的复选框
    // 2. 循环通过复选框找到购买数量和小计价格
    // 3. 累加来计算购买总数和总计价格
    var totalNum = 0;
    var tPrice = 0;
    $('.j-checkbox:checked').each(function() {
            totalNum += parseInt($(this).parent().siblings('.p-num').find('.itxt').val());
            tPrice += parseFloat($(this).parent().siblings('.p-sum').html().slice(1));
        })
        // console.log(totalNum);
        // console.log(tPrice);
        // 在页面上修改购买数量和购买价格
    $('.amount-sum em').html(totalNum);
    $('.price-sum em').html('￥' + tPrice.toFixed(2));
}

// 删除单个商品
$('.p-action a').click(function() {
    if (confirm('您确定要删除该商品吗?')) {
        $(this).parents('.cart-item').remove();
    }
})

// 清理购物车
$('.clear-all').click(function() {
    if (confirm('您确定清除所有商品吗?')) {
        $('.cart-item').remove();
    }
})

// 删除选中商品
$('.remove-batch').click(function() {
    if (confirm('您确定删除这些商品吗?')) {
        $('.j-checkbox:checked').each(function() {
            $(this).parents('.cart-item').remove();
        })
    }
})